home *** CD-ROM | disk | FTP | other *** search
- * Program.: DATE-.PRG
- * Author..: Luis A. Castro
- * Date....: 01/19/84
- * Notice..: Copyright 1984, Luis A. Castro, All Rights Reserved.
- * Version.: dBASE II, version 2.4x
- * Notes...: Front-end program to utilize DATETEST,
- * WEEKDAY, JUL2CAL, and CAL2JUL subroutines.
- * Local...: select, mdate, row, string, is:error, julian
- *
- SET TALK OFF
- SET BELL OFF
- SET COLON OFF
- SET RAW ON
- ERASE
- @ 2, 0 SAY "DEMONSTRATION of DATE ROUTINES"
- @ 2,72 SAY DATE()
- @ 3, 0 SAY "========================================"
- @ 3,40 SAY "========================================"
- STORE 11 TO row
- STORE "X" TO select
- DO WHILE select <> " "
- @ 10,0
- STORE " " TO select
- @ 5,0 SAY "1. CAL2JUL() = calendar to julian conversion"
- @ 6,0 SAY "2. JUL2CAL() = julian to calendar conversion"
- @ 7,0 SAY "3. DATETEST() = verify a date"
- @ 8,0 SAY "4. WEEKDAY() = day of the week"
- @ 9,0 GET select PICTURE "!"
- READ
- IF select = " " .OR. .NOT. select $ "1234"
- LOOP
- ENDIF
- @ 9,0 SAY " "
- STORE " / / " TO mdate
- STORE "0 " TO string
- * ---Enter date parameter.
- DO CASE
- CASE select $ "14"
- @ 10,0 SAY "ENTER DATE as MM/DD/YY ";
- GET mdate PICTURE "99/99/99"
- CASE select = "2"
- @ 10,0 SAY "ENTER JULIAN DATE as 999999 ";
- GET string PICTURE "999999"
- CASE select = "3"
- STORE " / / " TO mdate
- @ 10,0 SAY "ENTER DATE as MM/DD/YY or MM/DD/YYYY ";
- GET mdate PICTURE "99/99/9999"
- ENDCASE
- READ
- IF mdate = " / / " .AND. "0" = TRIM(string)
- LOOP
- ENDIF
- STORE VAL(string) TO julian
- @ row,0 SAY " "
- *
- * ---Execute a date routine.
- DO CASE
- CASE select = "1"
- * ---CALENDAR TO JULIAN CONVERSION.
- ? " CAL2JUL (",mdate,") ="
- * ---First, verify the date.
- DO Datetest
- * ---Now, get the julian date.
- IF is:error
- ?? " invalid date"
- ELSE
- DO Cal2jul
- ?? julian
- ENDIF
- CASE select = "2"
- * ---JULIAN TO CALENDAR CONVERSION.
- ? " JUL2CAL (",TRIM(string),") = "
- DO Jul2cal
- ?? mdate
- CASE select = "3"
- * ---VERIFY A DATE.
- ? " DATETEST (",mdate,") = "
- DO Datetest
- IF is:error
- ?? '"invalid"'
- ELSE
- ?? '"valid"'
- ENDIF
- CASE select = "4"
- * ---DAY OF THE WEEK.
- * ---First, verify the date.
- DO Datetest
- * ---Now, get the day of the week.
- ? " WEEKDAY (",mdate,") = "
- IF is:error
- ?? "invalid date"
- ELSE
- DO Weekday
- ?? week:num, " - " + week:day
- ENDIF
- ENDCASE
- STORE row + 1 TO row
- ENDDO
- SET BELL ON
- SET TALK ON
- SET COLON ON
- SET RAW OFF
- RELEASE select, mdate, row
- RETURN
- * EOF: DATE-.PRG